Rancher Desktopでイメージをプルする際、「unauthorized: incorrect username or password」と表示される問題の対処法
はじめに
こんにちは、アノテーションのなかたです。
先日、Rancher Desktopをインストールしたものの、dockerコマンドによるイメージのプルができませんでした。
今回はその際の対処法について書きました。
発生した問題
業務にてDockerを扱う機会があったため、Rancher Desktopをインストールしました。
そこで動作確認として、docker run hello-world
を試みたものの、イメージのプルができない問題に直面しました。
docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Head "https://registry-1.docker.io/v2/library/hello-world/manifests/latest": unauthorized: incorrect username or password.
See 'docker run --help'.
解決策
私の場合は、以下のコマンドを実行することで解決しました。
docker logout
原因
docker コマンドのドキュメントには下記のように記述されていました。
既にログイン状態であれば、 docker logout を実行し、ファイルから認証情報を削除します。それから docker login を再び実行します。
https://docs.docker.jp/engine/reference/commandline/login.html#id11
過去に Docker Desktop を使用していたのですが、その際の認証情報が残っていたことが原因だと思われます。 [1]
そのため、docker logout
を実行し認証情報をリセットすることで、期待通りに実行できるようになりました。
対処法として試みた仮説
1. Dockerライセンスが付与されていない
unauthorized: incorrect username or password.
と書いてありますので、メッセージからそのまま推測するのであれば、ログインに必要な情報やライセンスが付与されていないことが考えられました。
しかし、私がランタイム環境としてインストールしたRancher Desktop は Docker が提供する GUI である Docker Desktop のライセンスが不要であることがメリットの1つであるため、問題の原因ではないと判断しました。
~/.docker/config.json
を削除する
2. 原因を探すためFinderを漁っていたところ、~/.docker/config.json
というそれらしいファイルが見つかりました。
{
"auths": {
"https://index.docker.io/v1/": {}
},
"credsStore": "osxkeychain",
"plugins": {
"-x-cli-hints": {
"enabled": "true"
}
},
"currentContext": "rancher-desktop"
}
イメージのプルがdocker.ioに引っかかることでライセンスなどの情報が必要となり、エラーが発生するのではないかと考えました。
しかし、Dockerライセンスが制限しているのはDocker Desktopの利用であり、dockerコマンドやレジストリは制限されていません。
Docker Desktopの料金を支払う必要があるのは誰ですか?
Docker Desktopを使用するには、従業員が250名を超える組織、または年間収益が1,000万ドルを超える組織の場合、利用規約に従ってユーザーごとの有料サブスクリプションが必要です。
https://www.docker.com/ja-jp/pricing/faq/#subscriptionandlicensing
そのため、この問題も同様に原因とは異なると判断しました。
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。
Rancher Desktopの利用目的は一般的に有償ライセンスが不要であることが挙げられますが、Docker Desktopを使用していた際にはもちろんライセンスを取得して利用していました ↩︎